c4c446d0b17f2d7940f46507c6c1452252c20ae1,library/src/main/java/com/heinrichreimersoftware/materialintro/view/InkPageIndicator.java,InkPageIndicator,getUnselectedPath,#number#number#number#number#number#,371
Before Change
unselectedDotRightPath.cubicTo(controlX1, controlY1,
controlX2, controlY2,
endX2, endY2);
unselectedDotPath.addPath(unselectedDotRightPath);
}
if (joiningFraction > 0.5f && joiningFraction < 1f
After Change
controlX2, controlY2,
endX2, endY2);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
unselectedDotPath.op(unselectedDotLeftPath, Path.Op.UNION);
} else {
unselectedDotPath.addPath(unselectedDotLeftPath);
}
// now do the next dot to the right
unselectedDotRightPath.rewind();
// start at the bottom center
unselectedDotRightPath.moveTo(nextCenterX, dotBottomY);
// semi circle to the top center
rectF.set(nextCenterX - dotRadius, dotTopY, nextCenterX + dotRadius, dotBottomY);
unselectedDotRightPath.arcTo(rectF, 90, -180, true);
// cubic to the left middle
endX1 = nextCenterX - dotRadius - (joiningFraction * gap);
endY1 = dotCenterY;
controlX1 = nextCenterX - halfDotRadius;
controlY1 = dotTopY;
controlX2 = endX1;
controlY2 = endY1 - halfDotRadius;
unselectedDotRightPath.cubicTo(controlX1, controlY1,
controlX2, controlY2,
endX1, endY1);
// cubic back to the bottom center
endX2 = nextCenterX;
endY2 = dotBottomY;
controlX1 = endX1;
controlY1 = endY1 + halfDotRadius;
controlX2 = endX2 - halfDotRadius;
controlY2 = dotBottomY;
unselectedDotRightPath.cubicTo(controlX1, controlY1,
controlX2, controlY2,
endX2, endY2);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
unselectedDotPath.op(unselectedDotRightPath, Path.Op.UNION);
} else {
unselectedDotPath.addPath(unselectedDotRightPath);
}
}